<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>条件渲染</title>
    <script src="../js/vue.js"></script>
    <style>
      .red {
        background-color: lightpink;
      }

      .green {
        background-color: olivedrab;
      }

      .blue {
        background-color: skyblue;
      }
    </style>
  </head>
  <body>
    <!--
        条件渲染:
            1.v-if
                写法：
                    (1).v-if="表达式"
                    (2).v-else-if="表达式"
                    (3).v-else="表达式"
                适用于：切换频率较低的场景
                特点：不展示的DOM元素直接被移除
                注意：v-if可以和v-else-if、v-else一起使用，但要求结构不能被打断。
            2.v-show
                写法：v-show="表达式"
                适用于：切换频率较高的场景
                特点：不展示的DOM元素未被移除，只是使用样式隐藏掉
            3.备注：使用v-if时，元素可能无法获取到，而使用v-show一定可以获取到。
    -->

    <div id="root">
      <h2>当前n的值为：{{n}}</h2>
      <button @click="n++">点我n+1</button>
      <button @click="n--">点我n-1</button>
      <br /><br />

      <!-- 使用v-show做条件渲染 -->
      <!-- <h2 v-show="false">欢迎来到{{name}}</h2> -->
      <div v-show="n === 1" class="red">show1</div>
      <div v-show="n === 2" class="blue">show2</div>
      <div v-show="n === 3" class="green">show3</div>
      <br /><br />

      <!-- 使用v-if做条件渲染 -->
      <!-- <h2 v-if="false">欢迎来到{{name}}</h2> -->
      <div v-if="n === 1" class="red">if1</div>
      <div v-if="n === 1" class="blue">if1-2</div>
      <div v-if="n === 3" class="green">if3</div>
      <br /><br />

      <!-- v-else和v-else-if -->
      <div v-if="n === 1" class="red">if1</div>
      <div v-else-if="n === 1" class="blue">else-if1</div>
      <div v-else-if="n === 3" class="green">else-if3</div>
      <div v-else class="green">else</div>

      <template v-if="n === 1">
        <h2>你好</h2>
        <h2>欢迎来到</h2>
        <h2>{{name}}</h2>
      </template>
    </div>
  </body>
  <script>
    Vue.config.productionTip = false;

    const vm = new Vue({
      el: "#root",
      data: {
        name: "南京财经大学",
        n: 1,
      },
    });
  </script>
</html>
